In a data write of a NAND type nonvolatile semiconductor memory device, programs are normally performed in order from a memory cell disposed on a source line side. In this case, there is a risk that due to an order of the programs, variation of threshold voltages between memory cells ends up occurring and a threshold voltage distribution ends up broadening.